Rewrite Rules supporting Conditional Statements for Automatic Parallelization
نویسنده
چکیده
Hurlin recently proposed a technique for automatic parallelization based on separation logic [9]. This paper proposes an enhancement of the mechanism for situations where conditional statements are used in specifications of programs. With the proposed changes, specifications containing conditional statements are supported and programs can be automatically parallelized. Two approaches are identified and a preferable one is suggested. The proposed extension is illustrated by an exemplifying program and has been implemented.
منابع مشابه
Computationally Equivalent Elimination of Conditions
An automatic and easy to implement transformation of conditional term rewrite systems into computationally equivalent unconditional term rewrite systems is presented. No special support is needed from the underlying unconditional rewrite engine. Since unconditional rewriting is more amenable to parallelization, our transformation is expected to lead to efficient concurrent implementations of re...
متن کاملInvasive Interactive Parallelization
ABSTRACT In this thesis proposal we suggest an interactive method of parallelizing legacy software that is based on separation of concerns and aspect weaving. We statically inject parallelizing code into sequential cores by means of reusable rewrite rules. We view parallelization as a generic refactoring process with programmable control automated by inferences on structured parallelization cat...
متن کاملA Task Merging Technique for Parallelization of Modelica Models
This paper presents improvements on techniques of merging tasks in task graphs generated in the ModPar automatic parallelization module of the OpenModelica compiler. Automatic parallelization is performed on Modelica models by building data dependency graphs called task graphs from the model equations. To handle large task graphs with fine granularity, i.e. low ratio of execution and communicat...
متن کاملTowards Effectively Eliminating Conditional Rewrite Rules
Conditional rewrite rules are notorious for being difficult to implement in rewrite engines. This is because, like in the case of function calls in programming language implementations, rewrite engines need to ”freeze” the current rewriting environment and to create a new one in which the condition is reduced. Stacking these rewriting environments efficiently can easily become a nontrivial task...
متن کاملAutomatic Parallelization and Optimization of Programs by Proof Rewriting
We show how, given a program and its separation logic proof, one can parallelize and optimize this program and transform its proof simultaneously to obtain a proven parallelized and optimized program. To achieve this goal, we present new proof rules for generating proof trees and a rewrite system on proof trees.
متن کامل